/*
 * Controlador
 * 
 * Version 
 *
 * 29/10/2013
 * 
 * Licencia
 */
package Controlador;

import proyecto2.logica.CrearAutomata;
import proyecto2.logica.DFA;
import proyecto2.logica.NFA;

public class Controlador {

    NFA _nfa;
    NFA _automata_prueba;
    DFA _dfa;

    public Controlador() {
        CrearAutomata ca = new CrearAutomata("definicionAutomata.xml");
        _nfa = ca.getAutomata();
    }

    public void crearAutomataPrueba() {
        CrearAutomata ca = new CrearAutomata("automataPrueba.xml");
        _automata_prueba = ca.getAutomata();
    }

    public NFA getNFA() {
        return _nfa;
    }

    public NFA getAutomata_prueba() {
        return _automata_prueba;
    }

    public DFA getDFA() {

        if (_nfa.isDFA()) {
            return new DFA(_nfa.getEstados(), _nfa.getAlfabeto(), _nfa.getTransiciones(), _nfa.getInicial(), _nfa.getFinales());// _nfa;
        } else {
            return _nfa.toDFA();
        }

    }

    public boolean probarRegex(String s) {
        return _nfa.recognize(s);
    }
}
